package com.vizhuo.utils.term;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @ClassName: TermsCode
 * @Description: 定义码表子项
 * @author TANDP
 * @date 2015-7-10 下午2:38:15
 * 
 */
public class TermsCode {
    /**
     * 
     * @ClassName: CLIENT_TYPE_LIST,1006
     * @Description: 账号类型
     * @author TANDP
     * @date 2015-7-10 下午2:36:15
     * 
     */
    public static enum CLIENT_TYPE_LIST {

        DRIVER("司机", "1"), CONSUGNOR("发货人", "2"), INFO("信息部", "3");
        private String value;

        private String name;

        CLIENT_TYPE_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    public static enum CHECK_FLAG_LIST {

        FAIL("认证失败", "0"), SUCCESS("已经认证", "1"), CHECKING("等待审核", "2"), UNCHECK("未认证", "3");
        private String value;

        private String name;

        CHECK_FLAG_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    public static enum MEBCONSIGNER_MERCHANT_FLAG_LIST {

        HUALING("华凌商户", "1"), NORMAL("普通商户", "0");
        private String value;

        private String name;

        MEBCONSIGNER_MERCHANT_FLAG_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    public static enum MEB_ACC_STATUS_FLAG_LIST {

        NORMAL("正常", "1"), LOCK("锁定", "2"), BLACK("黑名单", "0");
        private String value;

        private String name;

        MEB_ACC_STATUS_FLAG_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 消息通知类型
     * 
     * @author luzh
     * 
     */
    public static enum MEB_ACC_MSG_STATE_LIST {

        SYSMSG("系统信息", "0"), HELPMSG("帮扶消息", "1"), EVTMSG("活动消息", "1"), BLACKMSG("平台黑名单通知", "2");
        private String value;

        private String name;

        MEB_ACC_MSG_STATE_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    public static enum GOODS_STATE_LIST {

        /** 待审核资料 */
        WAITING_REVIEW("待审核资料", "0"),
        /**
         * 待抢单
         */
        WAITING_ROB("待抢单", "1"),
        /**
         * 待确认
         */
        WAITING_CONFIRM("待确认", "2"),
        /**
         * 待评价
         */
        WAITING_EVALUATE("待评价", "3"),
        /**
         * 已完成
         */
        FINISHED("已完成", "4"),
        /**
         * 待收货确认
         */
        WAITING_COLLENCTGOODS_CONFIRM("待收货确认", "5"), WAITING_ARRIEGOODS_CONFIRM("待到货确认", "6"), WAITING_CARRIER_EVALUATE(
                "待承运方评价", "7"), CARRIER_WAITING_MANAGE("取消待处理", "8"), CARRIER_ALREADY("已取消", "9"), APPLY_CANCEL_NO(
                "申请取消不同意", "10");

        private String value;

        private String name;

        GOODS_STATE_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 
     * @ClassName: TermsCode.java
     * @Description: TODO订单数量状态
     * 
     * @author liujq
     * @version V1.0
     * @Date 2015-11-25 下午7:33:20
     */
    public static enum ORDER_NUM_STATE_LIST {

        /** 已抢单 */
        ROB_ORDER("已抢单", "1"),
        /**
         * 抢单失败
         */
        ROB_ORDER_FAIL("抢单失败", "2"),
        /**
         * 已完成
         */
        FINISHED("已完成", "3");

        private String value;

        private String name;

        ORDER_NUM_STATE_LIST(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 
     * @ClassName: CLIENT_TYPE_LIST
     * @Description: 运输类型,1:干线,2:同城
     * @author TANDP
     * @date 2015-7-10 下午2:36:15
     * 
     */
    public static enum RUN_TYPE {

        DIFFERENCE_CITY("长途", "1"), SAME_CITY("同城", "2");
        private String value;

        private String name;

        RUN_TYPE(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }

    }

    /**
     * 
     * @ClassName: INTEGRAL_NUMBER
     * @Description: 积分经验编码
     * @author TANDP
     * @date 2015-7-10 下午2:36:15
     * 
     */
    public static enum INTEGRAL_NUMBER {
        /** 发货 */
        ADD_GOODS("发货", "ADD_GOODS"),
        /** 注册 */
        REGISTER("注册", "REGISTER"),
        /** 登陆 */
        LOGIN("登陆", "LOGIN"),
        /** 抢单 */
        ROB_ORDER("抢单", "ROB_ORDER"),
        /** 评价 */
        EVAL("评价", "EVAL"),
        /** 好评价 */
        GOODEVAL("好评价", "GOODEVAL"),
        /** 差评价 */
        BADEVAL("差评价", "BADEVAL"),
        /** 分享 */
        SHARE("分享", "SHARE"),
        /** 收藏 */
        COLLECT("收藏", "COLLECT"),
        /** 被指派承运 */
        ASSIGNED_RUN("被指派承运", "ASSIGNED_RUN"),
        /** 被加黑名单 */
        BLACKED("被加黑名单", "BLACKED"),
        /** 被投诉 */
        COMPLAINTS("被投诉", "COMPLAINTS");
        private String value;

        private String name;

        INTEGRAL_NUMBER(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 直辖市集合
     */
    public static List<String> CITY_MUNICIPALITIES = new ArrayList<String>();
    static {
        CITY_MUNICIPALITIES.add("11");
        CITY_MUNICIPALITIES.add("12");
        CITY_MUNICIPALITIES.add("31");
        CITY_MUNICIPALITIES.add("50");
    }

    /**
     * App推送参数设置集合
     * 
     */
    public static enum APP_PUSHINSTALL_TYPE_LIST {

        /** 货源提醒状态 */
        GOODSREMIND_STATE("货源", 0),
        /**
         * 被指定为承运人提醒状态
         */
        TOCARRIERREMIND_STATE("被指定为承运人", 1),
        /**
         * 未被指定为承运人提醒状态
         */
        NO_TOCARRIERREMIND_STATE("未被指定为承运人", 2),
        /**
         * 被评价提醒状态
         */
        TOEVALREMIND_STATE("被评价", 3),
        /**
         * 消息提醒声音状态
         */
        MESSREMINDVOICE_STATE("消息提醒声音", 4);
        private int value;

        private String name;

        APP_PUSHINSTALL_TYPE_LIST(String name, int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(int value) {
            this.value = value;
        }
    }

    /**
     * 订单节点状态
     * 
     * @author luzh
     * 
     */
    public static enum MAT_ORDER_LOG_FLAG {

        ORDER_ADD("订单发布", "0"), ORDER_CATCH_FIRST("首个抢单时间", "1"), ORDER_CARRIER("发货方指定承运方", "2"), ORDER_CARRIER_RECEIVE(
                "承运方收货", "3"), ORDER_SENDER_ARRIVAL("发货方确定到货", "4"), ORDER_SENDER_EVALUATE("发货方评价", "5"), ORDER_CARRIER_EVALUATE(
                "承运方评价", "6"), ORDER_CANCEL("取消订单", "7"), ORDER_MEDIATE("客服调解", "8"), ORDER_MEDIATE_ING("客服调解中", "9"), ORDER_MEDIATE_OVER(
                "调解成功", "10");
        private String value;

        private String name;

        MAT_ORDER_LOG_FLAG(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }

    }

    /**
     * 订单节点流程组
     * 
     * @author luzh
     * 
     */
    public static enum MAT_ORDER_LOG_TYPE {

        SYS_CODE_ORDER_LOG_DEFAULT("正常流程节点组", "4010"), SYS_CODE_ORDER_LOG_CANCEL("取消流程节点组", "4011"), SYS_CODE_ORDER_LOG_ALL(
                "全部流程节点组", "4012");
        private String value;

        private String name;

        MAT_ORDER_LOG_TYPE(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 取消订单流程节点组锁包含的订单状态
     * 
     * @author luzh
     * 
     */
    public static enum MAT_GOODS_STATE_ACTION_FLAG {

        MAT_GOODS_STATE_ACTION_FLAG_CANCEL("取消订单流程中包含的订单状态", ",8,9,10,");
        private String value;

        private String name;

        MAT_GOODS_STATE_ACTION_FLAG(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 取货规则类型
     * 
     * @author luzh
     * 
     */
    public static enum MAT_GOODS_TAKE_FLAG {

        DEFAULT_TIME_FLAG("默认时间规则", "0"), ANYTIME_CAN_TAKE_FLAG("随时可取", "1");
        private String value;

        private String name;

        MAT_GOODS_TAKE_FLAG(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }

    /**
     * 帮扶审核
     * 
     * @author luzh
     * 
     */
    public static enum HCheck {

        HCheck_FAIL("失败", "2"), HCheck_SUCC("通过", "3");
        private String value;

        private String name;

        HCheck(String name, String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }
}
